// name: EquationQualified1
// keywords:
// status: correct
//
//

model A
  Real x[3, 2, 1];
end A;

model B
  A a[1, 3];
end B;

model EquationQualified1
  B b[2, 5];
equation
  b[1].a[1].x[2] = b[2].a[1].x[2];
end EquationQualified1;

// Result:
// class EquationQualified1
//   Real b[1,1].a[1,1].x[1,1,1];
//   Real b[1,1].a[1,1].x[1,2,1];
//   Real b[1,1].a[1,1].x[2,1,1];
//   Real b[1,1].a[1,1].x[2,2,1];
//   Real b[1,1].a[1,1].x[3,1,1];
//   Real b[1,1].a[1,1].x[3,2,1];
//   Real b[1,1].a[1,2].x[1,1,1];
//   Real b[1,1].a[1,2].x[1,2,1];
//   Real b[1,1].a[1,2].x[2,1,1];
//   Real b[1,1].a[1,2].x[2,2,1];
//   Real b[1,1].a[1,2].x[3,1,1];
//   Real b[1,1].a[1,2].x[3,2,1];
//   Real b[1,1].a[1,3].x[1,1,1];
//   Real b[1,1].a[1,3].x[1,2,1];
//   Real b[1,1].a[1,3].x[2,1,1];
//   Real b[1,1].a[1,3].x[2,2,1];
//   Real b[1,1].a[1,3].x[3,1,1];
//   Real b[1,1].a[1,3].x[3,2,1];
//   Real b[1,2].a[1,1].x[1,1,1];
//   Real b[1,2].a[1,1].x[1,2,1];
//   Real b[1,2].a[1,1].x[2,1,1];
//   Real b[1,2].a[1,1].x[2,2,1];
//   Real b[1,2].a[1,1].x[3,1,1];
//   Real b[1,2].a[1,1].x[3,2,1];
//   Real b[1,2].a[1,2].x[1,1,1];
//   Real b[1,2].a[1,2].x[1,2,1];
//   Real b[1,2].a[1,2].x[2,1,1];
//   Real b[1,2].a[1,2].x[2,2,1];
//   Real b[1,2].a[1,2].x[3,1,1];
//   Real b[1,2].a[1,2].x[3,2,1];
//   Real b[1,2].a[1,3].x[1,1,1];
//   Real b[1,2].a[1,3].x[1,2,1];
//   Real b[1,2].a[1,3].x[2,1,1];
//   Real b[1,2].a[1,3].x[2,2,1];
//   Real b[1,2].a[1,3].x[3,1,1];
//   Real b[1,2].a[1,3].x[3,2,1];
//   Real b[1,3].a[1,1].x[1,1,1];
//   Real b[1,3].a[1,1].x[1,2,1];
//   Real b[1,3].a[1,1].x[2,1,1];
//   Real b[1,3].a[1,1].x[2,2,1];
//   Real b[1,3].a[1,1].x[3,1,1];
//   Real b[1,3].a[1,1].x[3,2,1];
//   Real b[1,3].a[1,2].x[1,1,1];
//   Real b[1,3].a[1,2].x[1,2,1];
//   Real b[1,3].a[1,2].x[2,1,1];
//   Real b[1,3].a[1,2].x[2,2,1];
//   Real b[1,3].a[1,2].x[3,1,1];
//   Real b[1,3].a[1,2].x[3,2,1];
//   Real b[1,3].a[1,3].x[1,1,1];
//   Real b[1,3].a[1,3].x[1,2,1];
//   Real b[1,3].a[1,3].x[2,1,1];
//   Real b[1,3].a[1,3].x[2,2,1];
//   Real b[1,3].a[1,3].x[3,1,1];
//   Real b[1,3].a[1,3].x[3,2,1];
//   Real b[1,4].a[1,1].x[1,1,1];
//   Real b[1,4].a[1,1].x[1,2,1];
//   Real b[1,4].a[1,1].x[2,1,1];
//   Real b[1,4].a[1,1].x[2,2,1];
//   Real b[1,4].a[1,1].x[3,1,1];
//   Real b[1,4].a[1,1].x[3,2,1];
//   Real b[1,4].a[1,2].x[1,1,1];
//   Real b[1,4].a[1,2].x[1,2,1];
//   Real b[1,4].a[1,2].x[2,1,1];
//   Real b[1,4].a[1,2].x[2,2,1];
//   Real b[1,4].a[1,2].x[3,1,1];
//   Real b[1,4].a[1,2].x[3,2,1];
//   Real b[1,4].a[1,3].x[1,1,1];
//   Real b[1,4].a[1,3].x[1,2,1];
//   Real b[1,4].a[1,3].x[2,1,1];
//   Real b[1,4].a[1,3].x[2,2,1];
//   Real b[1,4].a[1,3].x[3,1,1];
//   Real b[1,4].a[1,3].x[3,2,1];
//   Real b[1,5].a[1,1].x[1,1,1];
//   Real b[1,5].a[1,1].x[1,2,1];
//   Real b[1,5].a[1,1].x[2,1,1];
//   Real b[1,5].a[1,1].x[2,2,1];
//   Real b[1,5].a[1,1].x[3,1,1];
//   Real b[1,5].a[1,1].x[3,2,1];
//   Real b[1,5].a[1,2].x[1,1,1];
//   Real b[1,5].a[1,2].x[1,2,1];
//   Real b[1,5].a[1,2].x[2,1,1];
//   Real b[1,5].a[1,2].x[2,2,1];
//   Real b[1,5].a[1,2].x[3,1,1];
//   Real b[1,5].a[1,2].x[3,2,1];
//   Real b[1,5].a[1,3].x[1,1,1];
//   Real b[1,5].a[1,3].x[1,2,1];
//   Real b[1,5].a[1,3].x[2,1,1];
//   Real b[1,5].a[1,3].x[2,2,1];
//   Real b[1,5].a[1,3].x[3,1,1];
//   Real b[1,5].a[1,3].x[3,2,1];
//   Real b[2,1].a[1,1].x[1,1,1];
//   Real b[2,1].a[1,1].x[1,2,1];
//   Real b[2,1].a[1,1].x[2,1,1];
//   Real b[2,1].a[1,1].x[2,2,1];
//   Real b[2,1].a[1,1].x[3,1,1];
//   Real b[2,1].a[1,1].x[3,2,1];
//   Real b[2,1].a[1,2].x[1,1,1];
//   Real b[2,1].a[1,2].x[1,2,1];
//   Real b[2,1].a[1,2].x[2,1,1];
//   Real b[2,1].a[1,2].x[2,2,1];
//   Real b[2,1].a[1,2].x[3,1,1];
//   Real b[2,1].a[1,2].x[3,2,1];
//   Real b[2,1].a[1,3].x[1,1,1];
//   Real b[2,1].a[1,3].x[1,2,1];
//   Real b[2,1].a[1,3].x[2,1,1];
//   Real b[2,1].a[1,3].x[2,2,1];
//   Real b[2,1].a[1,3].x[3,1,1];
//   Real b[2,1].a[1,3].x[3,2,1];
//   Real b[2,2].a[1,1].x[1,1,1];
//   Real b[2,2].a[1,1].x[1,2,1];
//   Real b[2,2].a[1,1].x[2,1,1];
//   Real b[2,2].a[1,1].x[2,2,1];
//   Real b[2,2].a[1,1].x[3,1,1];
//   Real b[2,2].a[1,1].x[3,2,1];
//   Real b[2,2].a[1,2].x[1,1,1];
//   Real b[2,2].a[1,2].x[1,2,1];
//   Real b[2,2].a[1,2].x[2,1,1];
//   Real b[2,2].a[1,2].x[2,2,1];
//   Real b[2,2].a[1,2].x[3,1,1];
//   Real b[2,2].a[1,2].x[3,2,1];
//   Real b[2,2].a[1,3].x[1,1,1];
//   Real b[2,2].a[1,3].x[1,2,1];
//   Real b[2,2].a[1,3].x[2,1,1];
//   Real b[2,2].a[1,3].x[2,2,1];
//   Real b[2,2].a[1,3].x[3,1,1];
//   Real b[2,2].a[1,3].x[3,2,1];
//   Real b[2,3].a[1,1].x[1,1,1];
//   Real b[2,3].a[1,1].x[1,2,1];
//   Real b[2,3].a[1,1].x[2,1,1];
//   Real b[2,3].a[1,1].x[2,2,1];
//   Real b[2,3].a[1,1].x[3,1,1];
//   Real b[2,3].a[1,1].x[3,2,1];
//   Real b[2,3].a[1,2].x[1,1,1];
//   Real b[2,3].a[1,2].x[1,2,1];
//   Real b[2,3].a[1,2].x[2,1,1];
//   Real b[2,3].a[1,2].x[2,2,1];
//   Real b[2,3].a[1,2].x[3,1,1];
//   Real b[2,3].a[1,2].x[3,2,1];
//   Real b[2,3].a[1,3].x[1,1,1];
//   Real b[2,3].a[1,3].x[1,2,1];
//   Real b[2,3].a[1,3].x[2,1,1];
//   Real b[2,3].a[1,3].x[2,2,1];
//   Real b[2,3].a[1,3].x[3,1,1];
//   Real b[2,3].a[1,3].x[3,2,1];
//   Real b[2,4].a[1,1].x[1,1,1];
//   Real b[2,4].a[1,1].x[1,2,1];
//   Real b[2,4].a[1,1].x[2,1,1];
//   Real b[2,4].a[1,1].x[2,2,1];
//   Real b[2,4].a[1,1].x[3,1,1];
//   Real b[2,4].a[1,1].x[3,2,1];
//   Real b[2,4].a[1,2].x[1,1,1];
//   Real b[2,4].a[1,2].x[1,2,1];
//   Real b[2,4].a[1,2].x[2,1,1];
//   Real b[2,4].a[1,2].x[2,2,1];
//   Real b[2,4].a[1,2].x[3,1,1];
//   Real b[2,4].a[1,2].x[3,2,1];
//   Real b[2,4].a[1,3].x[1,1,1];
//   Real b[2,4].a[1,3].x[1,2,1];
//   Real b[2,4].a[1,3].x[2,1,1];
//   Real b[2,4].a[1,3].x[2,2,1];
//   Real b[2,4].a[1,3].x[3,1,1];
//   Real b[2,4].a[1,3].x[3,2,1];
//   Real b[2,5].a[1,1].x[1,1,1];
//   Real b[2,5].a[1,1].x[1,2,1];
//   Real b[2,5].a[1,1].x[2,1,1];
//   Real b[2,5].a[1,1].x[2,2,1];
//   Real b[2,5].a[1,1].x[3,1,1];
//   Real b[2,5].a[1,1].x[3,2,1];
//   Real b[2,5].a[1,2].x[1,1,1];
//   Real b[2,5].a[1,2].x[1,2,1];
//   Real b[2,5].a[1,2].x[2,1,1];
//   Real b[2,5].a[1,2].x[2,2,1];
//   Real b[2,5].a[1,2].x[3,1,1];
//   Real b[2,5].a[1,2].x[3,2,1];
//   Real b[2,5].a[1,3].x[1,1,1];
//   Real b[2,5].a[1,3].x[1,2,1];
//   Real b[2,5].a[1,3].x[2,1,1];
//   Real b[2,5].a[1,3].x[2,2,1];
//   Real b[2,5].a[1,3].x[3,1,1];
//   Real b[2,5].a[1,3].x[3,2,1];
// equation
//   b[1,1].a[1,1].x[2,1,1] = b[2,1].a[1,1].x[2,1,1];
//   b[1,1].a[1,1].x[2,2,1] = b[2,1].a[1,1].x[2,2,1];
//   b[1,1].a[1,2].x[2,1,1] = b[2,1].a[1,2].x[2,1,1];
//   b[1,1].a[1,2].x[2,2,1] = b[2,1].a[1,2].x[2,2,1];
//   b[1,1].a[1,3].x[2,1,1] = b[2,1].a[1,3].x[2,1,1];
//   b[1,1].a[1,3].x[2,2,1] = b[2,1].a[1,3].x[2,2,1];
//   b[1,2].a[1,1].x[2,1,1] = b[2,2].a[1,1].x[2,1,1];
//   b[1,2].a[1,1].x[2,2,1] = b[2,2].a[1,1].x[2,2,1];
//   b[1,2].a[1,2].x[2,1,1] = b[2,2].a[1,2].x[2,1,1];
//   b[1,2].a[1,2].x[2,2,1] = b[2,2].a[1,2].x[2,2,1];
//   b[1,2].a[1,3].x[2,1,1] = b[2,2].a[1,3].x[2,1,1];
//   b[1,2].a[1,3].x[2,2,1] = b[2,2].a[1,3].x[2,2,1];
//   b[1,3].a[1,1].x[2,1,1] = b[2,3].a[1,1].x[2,1,1];
//   b[1,3].a[1,1].x[2,2,1] = b[2,3].a[1,1].x[2,2,1];
//   b[1,3].a[1,2].x[2,1,1] = b[2,3].a[1,2].x[2,1,1];
//   b[1,3].a[1,2].x[2,2,1] = b[2,3].a[1,2].x[2,2,1];
//   b[1,3].a[1,3].x[2,1,1] = b[2,3].a[1,3].x[2,1,1];
//   b[1,3].a[1,3].x[2,2,1] = b[2,3].a[1,3].x[2,2,1];
//   b[1,4].a[1,1].x[2,1,1] = b[2,4].a[1,1].x[2,1,1];
//   b[1,4].a[1,1].x[2,2,1] = b[2,4].a[1,1].x[2,2,1];
//   b[1,4].a[1,2].x[2,1,1] = b[2,4].a[1,2].x[2,1,1];
//   b[1,4].a[1,2].x[2,2,1] = b[2,4].a[1,2].x[2,2,1];
//   b[1,4].a[1,3].x[2,1,1] = b[2,4].a[1,3].x[2,1,1];
//   b[1,4].a[1,3].x[2,2,1] = b[2,4].a[1,3].x[2,2,1];
//   b[1,5].a[1,1].x[2,1,1] = b[2,5].a[1,1].x[2,1,1];
//   b[1,5].a[1,1].x[2,2,1] = b[2,5].a[1,1].x[2,2,1];
//   b[1,5].a[1,2].x[2,1,1] = b[2,5].a[1,2].x[2,1,1];
//   b[1,5].a[1,2].x[2,2,1] = b[2,5].a[1,2].x[2,2,1];
//   b[1,5].a[1,3].x[2,1,1] = b[2,5].a[1,3].x[2,1,1];
//   b[1,5].a[1,3].x[2,2,1] = b[2,5].a[1,3].x[2,2,1];
// end EquationQualified1;
// endResult
